#Pengertian ggplot2
suppressPackageStartupMessages({
library(ggplot2)
library(gganimate)
library(htmltools)
library(htmlwidgets)
library(plotly)
library(gifski)
library(readr)
library(readxl)
Datavis <- read_excel("Datavis.xlsx")
})
# membuat Plot sederhana dan mengubah backgroundnya dengan plot.background dan panel.background
ggplot(Datavis,aes(x=Angka_Harapan_Hidup))+geom_histogram(binwidth=3,fill="purple",color="green",alpha=0.8)+labs(title="Sebaran Angka Harapan Hidup",x="Angka Harapan Hidup",y="Angka")+theme(
plot.background = element_rect(fill="green"),
panel.background = element_rect(fill="black")
)
# Membuat plot dengan variable x dan y
ggplot(Datavis,aes(x=Angka_Harapan_Hidup,y=Pendapatan_per_kapita))+geom_point(aes(color=Benua),size=1.5,alpha=0.7)+labs(title="Pendapatan Per Kapita & Angka Harapan Hidup",x="Angka Harapan Hidup",y="Pendapatan Per Kapita")+theme(
plot.background = element_rect(fill="green"),
panel.background = element_rect(fill="black")
)
# Membuat plot dan menambahkan warna dan ukuran yang berbeda setiap kategori dengan parameter color & size
ggplot(Datavis,aes(x=Pendapatan_per_kapita,y=Angka_Harapan_Hidup))+geom_point(aes(color=Benua,size=Populasi))+labs(title="Pendapatan Per Kapita & Angka Harapan Hidup",x="Pendapatan Per Kapita",y="Angka Harapan Hidup",color="Benua",size="Populasi")+theme(
plot.background = element_rect(fill="green"),
panel.background = element_rect(fill="#222831")
)
- Scatter Plot : Faceted
# Membuat Plot dan memisahkan Benua menggunakan facet_wrap()
ggplot(Datavis,aes(x=Pendapatan_per_kapita,y=Angka_Harapan_Hidup))+geom_point(aes(color=Benua,size=Jumlah_anak-1),alpha=0.7)+facet_wrap(~Benua)+labs(title="Pendapatan Per Kapita & Angka Harapan Hidup",x="Pendapatan Per Kapita",y="Angka Harapan Hidup",color="Warna",size="Populasi")+theme(
plot.background = element_rect(fill="green"),
panel.background = element_rect(fill="#222831")
)
- Scatter Plot : Faceted (Animated)
# Membuat Plot
plot <- ggplot(Datavis,aes(x=Pendapatan_per_kapita,y=Angka_Harapan_Hidup))+geom_point(aes(color=Benua,size=Jumlah_anak-1),alpha=0.7)+facet_wrap(~Benua)+labs(title="Pendapatan Per Kapita & Angka Harapan Hidup",x="Pendapatan Per Kapita",y="Angka Harapan Hidup",color="Warna",size="Populasi")+theme(
plot.background = element_rect(fill="green"),
panel.background = element_rect(fill="#222831")
)
# Menambahkan parameter tranisition kedalam plot
animated_plot <- plot+transition_time(Tahun)+ease_aes("linear")+labs(subtitle = paste("Tahun : {scales::label_number()(frame_time)}"))
# Merender dan menyimpan plot animasi ke dalam format .gif dengan gifski
animate(animated_plot,nframes=15,renderer=gifski_renderer("animated_scatter_plot_faceted.gif"))
# Membuat Plot
plot <- plot_ly(Datavis, x = ~Pendapatan_per_kapita, y = ~Angka_Harapan_Hidup, z = ~Populasi, type = "scatter3d", mode = "markers", size = 1,color=~Benua) %>%
layout(title = "3D Scatter Plot",
scene = list(xaxis = list(title = "Pendapatan per Kapita"),
yaxis = list(title = "Angka Harapan Hidup"),
zaxis = list(title = "Populasi")))
# Menampilkan plot
print(plot)
plot_browsable <- browsable(plot)
plot_browsable
# Menggunakan widget html
htmlwidgets::saveWidget(as_widget(plot), "3d_scatter_plot.html")